移动测试 Appium源码初探
点击上方蓝字“开源优测”一起玩耍
声明本公众号所有内容,均属微信公众号: 开源优测 所有,任何媒体、网站或个人未经授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本公众号协议授权的媒体、网站,在使用时必须注明"稿件来源微信公众号:开源优测",违者本公众号将依法追究责任。
移动测试 Appium源码初探
介绍
Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。
“移动原生应用”是指那些用 iOS 或者 Android SDK 写的应用。
“移动 web 应用”是指使用移动浏览器访问的应用(Appium 支持 iOS 上的 Safari 和 Android 上的 Chrome)。
“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。
文档
首先我们先看下Appium的官方文档地址:
入门手册:http://appium.io/tutorial.html
中文文档:http://appium.io/slate/cn/master/
安装
Appium支持各种语言的类库驱动来做移动端自动化测试,这些类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON 格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。
Appium客户端类库实现了Mobile JSON Wire Protocol(一个标准协议的官方扩展草稿)和W3C Webdriver spec(一个传输不可预知的自动化协议,该协议定义了MultiAction 接口)的元素。
下面我们看下如何安装Python版的驱动类库:
python pip 环境不会弄?参见这:[快学Python3]环境安装
使用pip命令来安装:
pip install Appium-Python-Client
通过git来安装:
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
不管是哪种方式,安装完成后在你的python安装目录,以笔者的为例(笔者为Python3.6,安装在C:\Python36目录下),你可以在以下目录找到已经安装的Appium-Python-Client的源码:
C:\Python36\Lib\site-packages\appium
目录说明
Appium-Python-Client安装好后,其目录结构如下图所示:
appium下一级目录如下图:
common: 用于定义了Appium-Python-Cliennt的通用类,该目录下的exceptions.py定义了content(你可以翻译为上下文环境)异常基类
webdriver: Appium-Python-Client的核心模块,定义了各种错误、命令和方法,后面就这个package进行详解说明
__init__.py: 你懂的,不懂也别找我^_^
saucetestcase.py: 设备枚举和一些初始化、清理功能的实现
下面重点对webdriver这个package进行说明
webdriver
必须注意的时,Appium客户端驱动包是基于json wire protocol实现的,其依赖selenium2中的webdriver,所以在实际是应用Appium-Python-Client时,是需要先安装selenium2的。
下面我们对Appium-Python-Client中最核心的功能package webdriver进行分析说明:
先看下图红色框中的即为webdriver的目录结构:
下面对webdriver下各模块进行说明:
common/mobileby.py: 定义了移动测试端专用的一些定位方法
common/multi_action.py: 定义和实现了如何把移动端操作串起来的方法
common/touch_action.py: 定义和实现了的移动端的一些动作行为
connectiontype.py: 定义了设备连接的类型
errorhandler.py: 定义和实现移动端错误处理类
mobilecommand.py: 定义了移动端json wire protocol的命令
switch_to.py: 定义和实现了移动端web view上下文环境切换类
webdriver.py: 最基础核心的模块,定义和实现了各种常用方法(例如查找、拖曳、滚动等等)
webelement.py: 最基础核心的模块,定义和实现了元素常用的方法(例如查找,设置值等等)
__init__.py: 你懂的,对外导出了webdrive和webelement模块中的对象
开源优测
分享软件测试开源技术、经验、方案的首发平台
长按二维码/微信扫描 关注开源优测
QQ群:260407012
苦叶子私人微信:liyimin1912
有问题,可留言或加好友进微信群
苦叶子原创文章首发平台